#include "UserContainer.h"


using namespace user_service;


bool UserContainer::AddUser(int user_id, const std::string &name,int age)
{
    UserInfo user_info;
    if (user_id<=0)
    {
        return false;
    }
    
    user_info.set_id(user_id);
    user_info.set_name(name);
    user_info.set_age(age);
    user_map_[user_id]=user_info;
    return true;
}
bool UserContainer::GetUser(int user_id,UserInfo *user_info)
{
    if (user_id<=0)
    {
        return false;
    }
    for(auto & item:user_map_)
    {
        if(item.first==user_id)
        {
            user_info->set_id(item.second.id());
            user_info->set_name(item.second.name());
            user_info->set_age(item.second.age());
            return true;
        }
    }
    return false;
    
}
bool UserContainer::UpdateUser(int user_id, std::string name,int age)
{
    if (user_id<=0)
    {
        return false;
    }
    for(auto & item:user_map_)
    {
        if(item.first==user_id)
        {
            item.second.set_name(name);
            item.second.set_age(age);
            return true;
        }
    }
    return false;
}
bool UserContainer::DeleteUser(int user_id)
{
    if (user_id<=0)
    {
        return false;
    }
    if(user_map_.find(user_id)!=user_map_.end())
    {
        user_map_.erase(user_id);
        return true;
    }
    return false;
}
